The present invention relates generally to automatic network address assignment and, in particular, to dynamic address assignment in a virtual sub-network.
New network devices that are added to an Internet Protocol (IP) network need to have an IP address. An IP address (also called an IP number) is a numeric sequence which uniquely identifies a computer in the IP network. An IP address is analogous to a telephone number in that the telephone number is used by telephone network devices to direct calls to a specific location. The IP address is used by IP network devices to direct data to another network device. Originally, network administrators had to assign and configure every network device with a unique IP address, often a time consuming task. The IP addressing capabilities of the IP specification was enhanced with the creation of the Bootstrap Protocol (BOOTP).
BOOTP is a protocol that allows a network device, such as a computer workstation, to automatically receive an IP address from a server host and have a network device initialize without user involvement. The BOOTP allows the network device to discover its own IP address, the address of the address server, and the name of a boot file to be executed by the network device. The network administrator configuring BOOTP was still required to initially assign an IP address to the network device at the address server in order for the network device to discover its assigned IP address when booting. Therefore, the network device has a statically assigned network address when using BOOTP.
An advancement over BOOTP for IP address allocation is called Dynamic Host Configuration Protocol (DHCP). DHCP allows a network device to request an IP address from a pool of addresses for a predetermined amount time (referred to as a lease). The pooling and leasing of IP addresses allows IP networks configured for DHCP to support more network devices than physical IP addresses. If a network device moves within the IP network supported by a DHCP server, no additional IP network administration activity is required. The IP address is dynamically assigned to the network device from a pool of IP addresses maintained by the DHCP server, unlike the static network address assignment of BOOTP. Thus, DHCP allows network devices to locate the address of a server managing a pool of IP addresses from which IP addresses are assigned dynamically.
DHCP is limited to identifying the IP address of an address server and an individual network device. In a virtual sub-network (subnet), every network device belonging to the subnet needs to know of every other device belonging to that virtual subnet. Accordingly, there is a need in the art for a network device to automatically receive an IP address from a pool of IP addresses that are associated with a virtual subnet and also for the network device to be notified of the other network devices associated with the virtual subnet. Additionally, a need exists to allow dynamic allocation of IP addresses to network devices when the virtual subnet exist on both sides of a firewall.
The present invention is directed to a system and method for a network device to receive a network address and the network address of other devices in a virtual IP subnet.
When a network device initially connects to a network the device seeks an address server from which to request a network address. The protocol is implemented such that a network device is able to identify the address server for the virtual subnet. The network device then requests a network address that is associated with the virtual subnet from the pool of network addresses managed by the address server. The address server responds with a network address from a pool of network addresses and a list of other network addresses for the nodes associated with the virtual subnet. Additionally, the protocol is expanded to allow for the virtual subnet to exist on both sides of a network firewall.